package com.ruoyi.project.infobaseproject.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 项目信息及资金调整暂存对象 info_base_project_target_staging
 * 
 * @author ruoyi
 * @date 2023-04-19
 */
public class InfoBaseProjectTargetStaging extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 项目库项目id */
    @Excel(name = "项目库项目id")
    private Long projectBaseId;

    /** 目标管理id */
    @Excel(name = "目标管理id")
    private Long projectTargetId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 项目属性 */
    @Excel(name = "项目属性")
    private Integer projectAttribute;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createByTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 建设地点 */
    @Excel(name = "建设地点")
    private String projectAddress;

    /** 建设内容与规模 */
    private String projectContent;
    @Excel(name = "投资估算")
    private BigDecimal projectMoney;

    /** 产生效益 */
    @Excel(name = "产生效益")
    private String projectParam1;

    /** 受益贫困村数个 */
    @Excel(name = "受益贫困村数个")
    private Integer projectParam2;

    /** 受益贫困户及边缘户数万 */
    @Excel(name = "受益贫困户及边缘户数万")
    private Double projectParam3;

    /** 受益人口数万 */
    @Excel(name = "受益人口数万")
    private Double projectParam4;

    /** 主管单位id */
    @Excel(name = "主管单位id")
    private Long departmentId;

    /** 实施单位id */
    @Excel(name = "实施单位id")
    private String workCompany;

    /** 调整原因 */
    @Excel(name = "调整原因")
    private String reasonAdjust;

    /** 主管审核意见 */
    @Excel(name = "主管审核意见")
    private String managerRemark;

    /** 年度资金总额 */
    @Excel(name = "年度资金总额")
    private BigDecimal totalFunds;

    /** 中央资金 */
    @Excel(name = "中央资金")
    private BigDecimal centralFund;

    /** 省级资金 */
    @Excel(name = "省级资金")
    private BigDecimal provincialFunds;

    private String fundChannels;

    private String capitalScale;

    private String remark;

    /** 其他资金 */
    @Excel(name = "其他资金")
    private BigDecimal otherFund;

    private String projectNode;

    /**
     * 项目暂存状态
     */
    private Integer projectAdjustStatus;

    private String workCompanyName;
    private String departmentName;

    private String projectTypeName;

    public String getCapitalScale() {
        return capitalScale;
    }

    public void setCapitalScale(String capitalScale) {
        this.capitalScale = capitalScale;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getFundChannels() {
        return fundChannels;
    }

    public void setFundChannels(String fundChannels) {
        this.fundChannels = fundChannels;
    }

    public String getProjectTypeName() {
        return projectTypeName;
    }

    public void setProjectTypeName(String projectTypeName) {
        this.projectTypeName = projectTypeName;
    }

    public String getProjectNode() {
        return projectNode;
    }

    public void setProjectNode(String projectNode) {
        this.projectNode = projectNode;
    }

    public String getWorkCompanyName() {
        return workCompanyName;
    }

    public void setWorkCompanyName(String workCompanyName) {
        this.workCompanyName = workCompanyName;
    }

    public String getDepartmentName() {
        return departmentName;
    }

    public void setDepartmentName(String departmentName) {
        this.departmentName = departmentName;
    }

    public String getProjectContent() {
        return projectContent;
    }

    public void setProjectContent(String projectContent) {
        this.projectContent = projectContent;
    }

    public Integer getProjectParam2() {
        return projectParam2;
    }

    public void setProjectParam2(Integer projectParam2) {
        this.projectParam2 = projectParam2;
    }

    public Double getProjectParam3() {
        return projectParam3;
    }

    public void setProjectParam3(Double projectParam3) {
        this.projectParam3 = projectParam3;
    }

    public Double getProjectParam4() {
        return projectParam4;
    }

    public void setProjectParam4(Double projectParam4) {
        this.projectParam4 = projectParam4;
    }

    public Integer getProjectAdjustStatus() {
        return projectAdjustStatus;
    }

    public void setProjectAdjustStatus(Integer projectAdjustStatus) {
        this.projectAdjustStatus = projectAdjustStatus;
    }

    public String getReasonAdjust() {
        return reasonAdjust;
    }

    public void setReasonAdjust(String reasonAdjust) {
        this.reasonAdjust = reasonAdjust;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setProjectBaseId(Long projectBaseId) 
    {
        this.projectBaseId = projectBaseId;
    }

    public Long getProjectBaseId() 
    {
        return projectBaseId;
    }
    public void setProjectTargetId(Long projectTargetId) 
    {
        this.projectTargetId = projectTargetId;
    }

    public Long getProjectTargetId() 
    {
        return projectTargetId;
    }
    public void setProjectName(String projectName) 
    {
        this.projectName = projectName;
    }

    public String getProjectName() 
    {
        return projectName;
    }
    public void setProjectAttribute(Integer projectAttribute) 
    {
        this.projectAttribute = projectAttribute;
    }

    public Integer getProjectAttribute() 
    {
        return projectAttribute;
    }
    public void setCreateByTime(Date createByTime) 
    {
        this.createByTime = createByTime;
    }

    public Date getCreateByTime() 
    {
        return createByTime;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setProjectAddress(String projectAddress) 
    {
        this.projectAddress = projectAddress;
    }

    public String getProjectAddress() 
    {
        return projectAddress;
    }
    public void setProjectMoney(BigDecimal projectMoney)
    {
        this.projectMoney = projectMoney;
    }

    public BigDecimal getProjectMoney()
    {
        return projectMoney;
    }
    public void setProjectParam1(String projectParam1) 
    {
        this.projectParam1 = projectParam1;
    }

    public String getProjectParam1() 
    {
        return projectParam1;
    }
    public void setDepartmentId(Long departmentId) 
    {
        this.departmentId = departmentId;
    }

    public Long getDepartmentId() 
    {
        return departmentId;
    }
    public void setWorkCompany(String workCompany)
    {
        this.workCompany = workCompany;
    }

    public String getWorkCompany()
    {
        return workCompany;
    }

    public void setManagerRemark(String managerRemark) 
    {
        this.managerRemark = managerRemark;
    }

    public String getManagerRemark() 
    {
        return managerRemark;
    }
    public void setTotalFunds(BigDecimal totalFunds) 
    {
        this.totalFunds = totalFunds;
    }

    public BigDecimal getTotalFunds() 
    {
        return totalFunds;
    }
    public void setCentralFund(BigDecimal centralFund) 
    {
        this.centralFund = centralFund;
    }

    public BigDecimal getCentralFund() 
    {
        return centralFund;
    }
    public void setProvincialFunds(BigDecimal provincialFunds) 
    {
        this.provincialFunds = provincialFunds;
    }

    public BigDecimal getProvincialFunds() 
    {
        return provincialFunds;
    }
    public void setOtherFund(BigDecimal otherFund) 
    {
        this.otherFund = otherFund;
    }

    public BigDecimal getOtherFund() 
    {
        return otherFund;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectBaseId", getProjectBaseId())
            .append("projectTargetId", getProjectTargetId())
            .append("projectName", getProjectName())
            .append("projectAttribute", getProjectAttribute())
            .append("createByTime", getCreateByTime())
            .append("endTime", getEndTime())
            .append("projectAddress", getProjectAddress())
            .append("projectMoney", getProjectMoney())
            .append("projectParam1", getProjectParam1())
            .append("departmentId", getDepartmentId())
            .append("workCompany", getWorkCompany())
            .append("managerRemark", getManagerRemark())
            .append("totalFunds", getTotalFunds())
            .append("centralFund", getCentralFund())
            .append("provincialFunds", getProvincialFunds())
            .append("otherFund", getOtherFund())
            .toString();
    }
}
